// 封装和牛马相关的功能
import request from '@/utils/request'
/**
 * 获取员工列表
 * @param {Object} params page pagesize departmentId keyword(可选)
 * @returns 请求
 */
export const getEmployeeList = (params) =>
  request({
    url: '/sys/user',
    method: 'get',
    params: params
    // {
    //   page: 1,
    //   pagesize: 20,
    //   departmentId: 1,
    //   keyword: ''
    // }
  })
/**
 * 获取需要导出的员工信息，格式为二进制流数据
 * @returns promise
 */
export function exportEmployee() {
  return request({
    url: '/sys/user/export',
    method: 'get',
    responseType: 'blob' // 指定响应类型为blob
  })
}
/**
 * 获取模板文件
 * @returns 请求
 */
export const getTemplateData = () => {
  return request({
    url: '/sys/user/import/template',
    responseType: 'blob'
  })
}
/**
 * 导入员工
 * @param {*} file 二进制流文件
 * @returns Promise
 */
export const importEmployee = (file) => {
  const formData = new FormData()
  formData.append('file', file)
  return request({
    url: '/sys/user/import',
    method: 'post',
    // headers: {
    //   'Content-Type': 'multipart/form-data'
    // },
    data: formData
  })
}
/**
 * 获取员工详情
 * @param {Number} id 员工id
 * @returns 请求
 */
export const getEmployeeDetail = (id) =>
  request({
    url: `/sys/user/${id}`,
    method: 'get'
  })
/**
 * 更新员工
 * @param {Object} data 新数据
 * @returns Promise
 */
export const updateEmployee = (data) =>
  request({
    url: `/sys/user/${data.id}`,
    method: 'put',
    data
  })
/**
 * 添加员工
 * @param {Object} data 员工数据
 * @returns 请求
 */
export const addEmployee = (data) =>
  request({
    url: `/sys/user`,
    method: 'post',
    data
  })
export const deleteEmployee = (id) =>
  request({
    url: `/sys/user/${id}`,
    method: 'delete'
  })
